pub fn new_birthday_probability(n: u32) -> f64 {
    if n < 2 {
        return 0.0;
    }
    
    // 计算至少两个人生日相同的概率
    // 使用互补事件: P(至少两个人相同) = 1 - P(所有人都不相同)
    
    // 计算所有人生日都不相同的概率
    let mut distinct_prob = 1.0;
    for i in 0..n {
        distinct_prob *= (365.0 - i as f64) / 365.0;
    }
    
    // 计算至少两个人生日相同的概率
    let result = 1.0 - distinct_prob;
    
    // 四舍五入到4位小数
    (result * 10000.0).round() / 10000.0
}
